@charset "UTF-8";

/* Loadingロゴ　 */
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background: #000000;
	text-align: center;
}
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#splash_logo svg {
  width: 800px;
}
#mask path {
	fill-opacity: 0;
	transition: fill-opacity 0.7s;
	fill: none;
	stroke: #b7b7b7;
}
#mask.done path {
	fill: #ffffff;
	fill-opacity: 1;
	stroke: #ffffff;
}

/* メインimg */
.grayscale img {
	filter: grayscale(100%);
	transition: .7s ease-in-out;
}
.grayscale p:hover img {
	filter: grayscale(0);
}

/* フルページスクロール */
.scrollify {
  width: 100%;
  height: 100vh;
}
.page_wrap {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.page_wrap li {
  margin-bottom: 25px;
  list-style-type: none;
}
.page_wrap a {
  border: 1px solid #696969;
  border-radius: 50%;
  display: block;
  width: 5px;
  height: 5px;
}
.page_wrap a.active {
  background: #696969;
}

/* プロローグ */
.scroll-up {
  opacity: 0; 
  visibility: hidden;
  transform: translateY(75px);
  transition: all 3s;
}
.scroll-up.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.text-animation span {
  opacity: 0;
}

/* ライトボックス */
.gallery_a {
  columns: 5;
  padding: 0 50px;
  margin: 0;
}
.gallery_a li {
  margin-bottom: 15px;
  list-style: none;
}
.gallery_a img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.gallery_b {
  columns: 3;
  padding: 0 50px;
  margin: 0;
}
.gallery_b li {
  margin-bottom: 15px;
  list-style: none;
}
.gallery_b img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  vertical-align: bottom;
}
@media only screen and (max-width: 768px) {
.gallery_a {
	columns: 3;
	}
.gallery_b {
  columns: 2;
  }
.box9_movie {
  margin-top: 20px;
}}

/* キラッ */
.shine span.masks {
	position: relative;
  display: block;
  line-height: 0;
  overflow: hidden;
}
.shine span.masks::before {
	position: absolute;
	content:"";
	width: 50%;
	height: 100%;
	top: 0;
	left: -95%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
}
.shine span.masks:hover::before {
	animation: shine 1.2s;
}
@keyframes shine {
	100% {
	left: 125%;
	}
}

/* ズーム */
.zoomIn img {
	transform: scale(1);
	transition: .3s ease-in-out;
}
.zoomIn a:hover img {
	transform: scale(1.2);
}
.mask {
  display: block;
  line-height: 0;
  overflow: hidden;
}

/* モーダルウィンドウ */
.hide-area {
	display:none;
}
.modaal-close:after, 
.modaal-close:before {
	background: #ccc;	
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
	background:#666;
}
.modaal-video .modaal-inner-wrapper {
	padding:0;
}

/* アコーディオン */
.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 777px;
  margin:0 auto;
}
.accordion-area li {
  margin: 10px 0;
}
.accordion-area section {
  border: 1px solid #ccc;
}
.title {
  position: relative;
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all .5s ease;
}
.title::before,
.title::after {
  position: absolute;
  content:'';
  width: 15px;
  height: 2px;
  background-color: #333;
}
.title::before {
  top:48%;
  left: 15px;
  transform: rotate(0deg);
}
.title::after {    
  top:48%;
  left: 15px;
  transform: rotate(90deg);
}
.title.close::before {
  transform: rotate(45deg);
}
.title.close::after {
  transform: rotate(-45deg);
}
.box {
  display: none;
  background: #f3f3f3;
  margin:0 3% 3% 3%;
  padding: 3%;
}

/* 光るテキスト */
.glowAnime {
  width: 450px;
  height: 80px;
  padding-top: 40px;
  color: #f8d121d7;
  text-align: center;
  background-image: url(img/Shanti_chone_photograph.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-blend-mode: lighten;
  background-color: #ffffffe6;
}
.glowAnime span {
  opacity: 0;
}
.glowAnime.glow span {
  animation: glow_anime_on 0.5s ease-out forwards;
}
@keyframes glow_anime_on {
	0% { opacity:0; text-shadow: 0 0 0 #fff,0 0 0 #fff;}
	50% { opacity:1; text-shadow: 0 0 10px #fae06ed7,0 0 15px #fae06ed7;}
	100% { opacity:1; text-shadow: 0 0 0 #fff,0 0 0 #fff;}
}
